package com.ruoyi.contractManagement.mapper;

import java.util.List;
import com.ruoyi.contractManagement.domain.DocContract;

/**
 * 用户签约记录Mapper接口
 * 
 * @author ruoyi
 * @date 2025-08-14
 */
public interface DocContractMapper 
{
    /**
     * 查询用户签约记录
     * 
     * @param contractId 用户签约记录主键
     * @return 用户签约记录
     */
    public DocContract selectDocContractByContractId(Long contractId);

    /**
     * 查询用户签约记录列表
     * 
     * @param docContract 用户签约记录
     * @return 用户签约记录集合
     */
    public List<DocContract> selectDocContractList(DocContract docContract);

    /**
     * 新增用户签约记录
     * 
     * @param docContract 用户签约记录
     * @return 结果
     */
    public int insertDocContract(DocContract docContract);

    /**
     * 修改用户签约记录
     * 
     * @param docContract 用户签约记录
     * @return 结果
     */
    public int updateDocContract(DocContract docContract);

    /**
     * 删除用户签约记录
     * 
     * @param contractId 用户签约记录主键
     * @return 结果
     */
    public int deleteDocContractByContractId(Long contractId);

    /**
     * 批量删除用户签约记录
     * 
     * @param contractIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDocContractByContractIds(Long[] contractIds);
    /**
     * 通过签约id查询订单id
     * @param contractId
     * @return
     */
    public Long selectOrderIdByContractId(Long contractId);
    /**
     * 通过订单id查询团队id
     * @param orderId
     * @return
     */
    Long selectTeamIdByOrderId(Long orderId);
    /**
     * 修改签约状态
     * @param orderId
     */
    void updateDocContractState(Long orderId);

    void updateDocContractState2(Long orderId);

    Long selectUserIdByOrderId(Long orderId);
}
